Mobile devices are everywhere, and users are demanding to use their mobile devices in the same or similar ways to the ways they use desktop applications. The demand for more-and-more and faster-and-faster deployments of mobile applications is acute, yet no easy or standard ways of synthesizing a native application to run on a mobile device have emerged. Legacy techniques include creating application plug-ins that run in a mobile device's browser, however such legacy approaches fail to produce mobile applications that run native to the device (e.g., without reliance on a browser). In other legacy cases, even where a mobile device supports downloadable apps or applets, and even where such mobile applications include use of mobile device system resources beyond resources available to a browser, hand-coding of native applications or development of apps or plug-ins specific to each mobile device and/or each operating system is far too cumbersome. Techniques are needed address the problem of rapid development and deployment of applications targeted to run on heterogeneous mobile platforms and yet interface with back-end (e.g., server-based) applications in ways that are similar or identical to the way a desktop application operates.
None of the aforementioned legacy approaches achieve the capabilities of the herein-disclosed techniques for automatic synthesis of native mobile applications based on an application object model. Therefore, there is a need for improvements.